export class SceneVueInteractiveSubscription {
    static events = {};
  
    static subscribe(eventType, callback) {
      if (!SceneVueInteractiveSubscription.events[eventType]) {
        SceneVueInteractiveSubscription.events[eventType] = [];
      }
      SceneVueInteractiveSubscription.events[eventType].push(callback);
    };
  
    static publish(eventType, data) {
      const callbacks = SceneVueInteractiveSubscription.events[eventType];
      if (callbacks) {
        callbacks.forEach(callback => callback(data));
      }
    };
  
    static unsubscribe(eventType, callback) {
      if (SceneVueInteractiveSubscription.events[eventType]) {
        SceneVueInteractiveSubscription.events[eventType] = SceneVueInteractiveSubscription.events[eventType].filter(cb => cb !== callback);
      }
    };
    
  };